; Music of Contamination (1985) (Ere Informatique) (Marc Olivier)
; Ripped by Megachur the 09/07/2008

	write "CONTAMIN.BIN"

music_date_rip	equ &0978
music_adr	equ &58f1
first_theme	equ 0
last_theme	equ 1

	read "music_header_v1_0.asm"

.l58f5 equ $ + 4
.l58f1
	db #05,#01,#14,#00,#28,#00,#14,#1e
.l58fe equ $ + 5
	db #00,#02,#0a,#00,#14,#71,#00,#3c
	db #00,#6a,#00,#14,#00,#77,#00,#28
	db #00,#00,#00,#28,#00,#71,#00,#28
	db #00,#71,#00,#28,#00,#71,#00,#28
	db #00,#00,#00,#28,#00,#71,#00,#3c
	db #00,#6a,#00,#14,#00,#77,#00,#28
	db #00,#00,#00,#28,#00,#00,#00,#14
	db #00,#71,#00,#14,#00,#71,#00,#14
	db #00,#71,#00,#14,#00,#71,#00,#28
	db #00,#00,#00,#28,#00,#6a,#00,#3c
	db #00,#59,#00,#14,#00,#71,#00,#28
	db #00,#00,#00,#28,#00,#6a,#00,#28
	db #00,#6a,#00,#28,#00,#6a,#00,#28
	db #00,#00,#00,#28,#00,#6a,#00,#3c
	db #00,#59,#00,#14,#00,#71,#00,#28
	db #00,#00,#00,#28,#00,#00,#00,#14
	db #00,#6a,#00,#14,#00,#6a,#00,#14
	db #00,#6a,#00,#14,#00,#6a,#00,#28
	db #00,#00,#00,#28,#00,#71,#00,#3c
	db #00,#6a,#00,#14,#00,#77,#00,#28
	db #00,#00,#00,#14,#00,#54,#00,#14
	db #00,#71,#00,#28,#00,#71,#00,#28
	db #00,#71,#00,#28,#00,#00,#00,#28
	db #00,#71,#00,#3c,#00,#6a,#00,#14
	db #00,#77,#00,#28,#00,#00,#00,#14
	db #00,#54,#00,#14,#00,#00,#00,#14
	db #00,#71,#00,#14,#00,#71,#00,#14
	db #00,#71,#00,#14,#00,#71,#00,#28
	db #00,#00,#00,#28,#00,#6a,#00,#3c
	db #00,#59,#00,#14,#00,#71,#00,#28
	db #00,#00,#00,#14,#00,#3f,#00,#14
	db #00,#6a,#00,#28,#00,#6a,#00,#28
	db #00,#6a,#00,#28,#00,#00,#00,#28
	db #00,#6a,#00,#3c,#00,#59,#00,#14
	db #00,#71,#00,#28,#00,#00,#00,#14
	db #00,#3f,#00,#14,#00,#00,#00,#14
	db #00,#6a,#00,#14,#00,#6a,#00,#14
	db #00,#6a,#00,#14,#00,#6a,#00,#28
	db #00,#00,#00,#28,#00,#38,#00,#3c
	db #00,#38,#00,#14,#00,#3c,#00,#28
	db #00,#00,#00,#14,#00,#4b,#00,#14
	db #00,#3f,#00,#28,#00,#3f,#00,#28
	db #00,#3f,#00,#28,#00,#00,#00,#28
	db #00,#47,#00,#3c,#00,#47,#00,#14
	db #00,#4b,#00,#28,#00,#00,#00,#14
	db #00,#6a,#00,#14,#00,#00,#00,#14
	db #00,#54,#00,#14,#00,#54,#00,#14
	db #00,#47,#00,#14,#00,#59,#00,#28
	db #00,#00,#00,#28,#00,#00,#00,#14
	db #00,#71,#00,#14,#00,#77,#00,#14
	db #00,#96,#00,#14,#00,#7f,#00,#14
	db #00,#8e,#00,#14,#00,#00,#00,#14
	db #00,#6a,#00,#28,#00,#77,#00,#14
	db #00,#71,#00,#3c,#00,#77,#00,#14
	db #00,#00,#00,#28,#00,#00,#00,#14
	db #00,#7f,#00,#14,#00,#8e,#00,#14
	db #00,#d5,#00,#14,#00,#8e,#00,#14
	db #00,#96,#00,#14,#00,#00,#00,#14
	db #00,#b3,#00,#14,#00,#00,#00,#14
	db #00,#b3,#00,#14,#00,#b3,#00,#14
	db #00,#8e,#00,#14,#00,#a9,#00,#28
.l5ae6 equ $ + 5
	db #00,#00,#00,#28,#00,#52,#01,#52
	db #01,#52,#01,#1c,#01,#52,#01,#52
	db #01,#52,#01,#a8,#00,#52,#01,#52
	db #01,#52,#01,#1c,#01,#52,#01,#52
	db #01,#52,#01,#a8,#00,#52,#01,#52
	db #01,#52,#01,#1c,#01,#52,#01,#52
	db #01,#52,#01,#a8,#00,#52,#01,#52
	db #01,#52,#01,#1c,#01,#52,#01,#52
	db #01,#52,#01,#be,#00,#fe,#00,#fe
	db #00,#fe,#00,#d4,#00,#fe,#00,#fe
	db #00,#fe,#00,#7e,#00,#fe,#00,#fe
	db #00,#fe,#00,#d4,#00,#fe,#00,#fe
	db #00,#fe,#00,#7e,#00,#fe,#00,#fe
	db #00,#fe,#00,#d4,#00,#fe,#00,#fe
	db #00,#fe,#00,#7e,#00,#fe,#00,#fe
	db #00,#fe,#00,#d4,#00,#fe,#00,#fe
	db #00,#fe,#00,#8e,#00,#52,#01,#e2
	db #00,#52,#01,#e2,#00,#52,#01,#e2
	db #00,#52,#01,#a8,#00,#52,#01,#e2
	db #00,#52,#01,#e2,#00,#52,#01,#e2
	db #00,#52,#01,#a8,#00,#52,#01,#e2
	db #00,#52,#01,#e2,#00,#52,#01,#e2
	db #00,#52,#01,#a8,#00,#52,#01,#e2
	db #00,#52,#01,#e2,#00,#52,#01,#e2
	db #00,#52,#01,#be,#00,#fe,#00,#a8
	db #00,#fe,#00,#a8,#00,#fe,#00,#a8
	db #00,#fe,#00,#7e,#00,#fe,#00,#a8
	db #00,#fe,#00,#a8,#00,#fe,#00,#a8
	db #00,#fe,#00,#7e,#00,#fe,#00,#a8
	db #00,#fe,#00,#a8,#00,#fe,#00,#a8
	db #00,#fe,#00,#7e,#00,#fe,#00,#a8
	db #00,#fe,#00,#a8,#00,#fe,#00,#a8
	db #00,#fe,#00,#8e,#00,#c2,#01,#c2
	db #01,#c2,#01,#66,#01,#c2,#01,#c2
	db #01,#c2,#01,#e2,#00,#c2,#01,#c2
	db #01,#c2,#01,#66,#01,#c2,#01,#c2
	db #01,#c2,#01,#fe,#00,#aa,#01,#aa
	db #01,#aa,#01,#52,#01,#aa,#01,#aa
	db #01,#aa,#01,#ee,#00,#52,#01,#52
	db #01,#52,#01,#1c,#01,#52,#01,#52
	db #01,#52,#01,#a8,#00,#52,#01,#52
	db #01,#52,#01,#1c,#01,#52,#01,#52
	db #01,#52,#01,#be,#00,#52,#01,#52
	db #01,#52,#01,#1c,#01,#52,#01,#52
	db #01,#52,#01,#be,#00,#aa,#01,#aa
	db #01,#aa,#01,#66,#01,#aa,#01,#aa
	db #01,#aa,#01,#d4,#00,#aa,#01,#aa
	db #01,#aa,#01,#66,#01,#aa,#01,#aa
.l5c67 equ $ + 6
.l5c66 equ $ + 5
	db #01,#aa,#01,#ee,#00,#00,#01,#02
.l5c6b equ $ + 2
	db #14,#00,#28,#00,#0a,#28,#00,#0a
	db #28,#00,#0a,#14,#00,#0a,#14,#00
	db #14,#28,#00,#0a,#28,#00,#0a,#28
	db #00,#0a,#14,#00,#14,#0a,#00,#02
.l5c8c equ $ + 3
	db #0a,#00,#02,#1c,#01,#28,#00,#ee
	db #00,#28,#00,#be,#00,#28,#00,#8e
	db #00,#28,#00,#be,#00,#28,#00,#ee
	db #00,#28,#00,#1c,#01,#28,#00,#ee
	db #00,#28,#00,#be,#00,#28,#00,#8e
	db #00,#28,#00,#be,#00,#28,#00,#ee
	db #00,#28,#00,#7c,#01,#28,#00,#3e
	db #01,#28,#00,#fe,#00,#28,#00,#be
	db #00,#28,#00,#fe,#00,#28,#00,#3e
	db #01,#28,#00,#7c,#01,#28,#00,#3e
	db #01,#28,#00,#fe,#00,#28,#00,#be
	db #00,#28,#00,#fe,#00,#28,#00,#3e
	db #01,#28,#00,#3e,#01,#28,#00,#fe
	db #00,#28,#00,#d4,#00,#28,#00,#a0
	db #00,#28,#00,#d4,#00,#28,#00,#fe
	db #00,#28,#00,#66,#01,#28,#00,#1c
	db #01,#28,#00,#d4,#00,#28,#00,#b2
	db #00,#28,#00,#d4,#00,#28,#00,#1c
	db #01,#28,#00,#1c,#01,#28,#00,#ee
	db #00,#28,#00,#be,#00,#28,#00,#8e
	db #00,#28,#00,#be,#00,#28,#00,#ee
	db #00,#28,#00,#7c,#01,#28,#00,#3e
	db #01,#28,#00,#fe,#00,#28,#00,#be
	db #00,#28,#00,#fe,#00,#28,#00,#3e
	db #01,#28,#00,#1c,#01,#28,#00,#ee
	db #00,#28,#00,#be,#00,#28,#00,#8e
	db #00,#28,#00,#be,#00,#28,#00,#ee
	db #00,#28,#00,#7c,#01,#28,#00,#3e
	db #01,#28,#00,#fe,#00,#28,#00,#be
	db #00,#28,#00,#fe,#00,#28,#00,#3e
.l5d7c equ $ + 3
	db #01,#28,#00,#8e,#00,#8e,#00,#5f
	db #00,#8e,#00,#8e,#00,#5f,#00,#8e
	db #00,#8e,#00,#5f,#00,#8e,#00,#8e
	db #00,#5f,#00,#8e,#00,#8e,#00,#5f
	db #00,#8e,#00,#8e,#00,#5f,#00,#8e
	db #00,#8e,#00,#5f,#00,#8e,#00,#8e
	db #00,#5f,#00,#be,#00,#be,#00,#7f
	db #00,#be,#00,#be,#00,#7f,#00,#be
	db #00,#be,#00,#7f,#00,#be,#00,#be
	db #00,#7f,#00,#be,#00,#be,#00,#7f
	db #00,#be,#00,#be,#00,#7f,#00,#be
	db #00,#be,#00,#7f,#00,#be,#00,#be
	db #00,#7f,#00,#9f,#00,#9f,#00,#6a
	db #00,#9f,#00,#9f,#00,#6a,#00,#9f
	db #00,#9f,#00,#6a,#00,#9f,#00,#9f
	db #00,#6a,#00,#b3,#00,#b3,#00,#77
	db #00,#b3,#00,#b3,#00,#77,#00,#b3
	db #00,#b3,#00,#77,#00,#b3,#00,#b3
	db #00,#77,#00,#8e,#00,#47,#00,#77
	db #00,#8e,#00,#47,#00,#77,#00,#8e
	db #00,#47,#00,#77,#00,#8e,#00,#47
	db #00,#77,#00,#be,#00,#5f,#00,#9f
	db #00,#be,#00,#5f,#00,#9f,#00,#be
	db #00,#5f,#00,#9f,#00,#be,#00,#5f
	db #00,#9f,#00,#8e,#00,#47,#00,#77
	db #00,#8e,#00,#47,#00,#77,#00,#8e
	db #00,#47,#00,#77,#00,#8e,#00,#47
	db #00,#77,#00,#be,#00,#5f,#00,#9f
	db #00,#be,#00,#5f,#00,#9f,#00,#be
	db #00,#5f,#00,#9f,#00,#be,#00,#5f
	db #00,#9f,#00
.l5e6c
	dw l58f1,l58f5,l58fe,l58fe
.l5e7a equ $ + 6
	dw l5ae6,l5ae6,l5c66,l5c67
	dw l5c6b,l5c8c,l5c8c,l5d7c
	dw l5d7c,l5e6c
.l5e8f equ $ + 7
.l5e8e equ $ + 6
.l5e8c equ $ + 4
.l5e8a equ $ + 2
.l5e88
	db #00,#00,#00,#00,#00,#00,#00,#00
.l5e97 equ $ + 7
.l5e95 equ $ + 5
.l5e93 equ $ + 3
.l5e91 equ $ + 1
	db #00,#00,#00,#00,#00,#00,#00,#00
.l5e99 equ $ + 1
	db #00,#00,#00,#00,#00
;
.init_music1
;
	ld hl,l5e6c
	ld de,l5e8f
	ld bc,#000e
	ldir
	call l5fe4
	ret
;
.init_music2
;
	ld hl,l5e7a
	ld de,l5e8f
	ld bc,#000e
	ldir
	call l5fe4
	ret
.l5ebb
	ld a,h
	sub d
	ret nz
	ld a,l
	sub e
	ret
;
.play_music
.l5ec1
;
	ld a,#04
	call #bcad
	cp #81
	jr z,l5ef5
	ld hl,(l5e88)
	ld ix,l6133
	ld a,(hl)
	ld (ix+#07),a
	inc hl
	ld a,(hl)
	ld (ix+#08),a
	inc hl
	ld a,(hl)
	ld (ix+#05),a
	inc hl
	ld de,(l5e93)
	call l5ebb
	jr nz,l5eec
	ld hl,(l5e91)
.l5eec
	ld (l5e88),hl
	push ix
	pop hl
	call #bcaa
.l5ef5
	ld a,#02
	call #bcad
	cp #81
	jr z,l5f42
	ld a,(l5e8e)
	or a
	jr nz,l5f42
	ld hl,(l5e8a)
	ld ix,l613c
	ld e,(hl)
	inc hl
	ld a,(hl)
	or e
	jr nz,l5f17
	ld a,#0c
	ld c,#01
	jr l5f21
.l5f17
	push hl
	ld hl,(l5e8f)
	inc hl
	ld a,(hl)
	ld c,a
	dec hl
	ld a,(hl)
	pop hl
.l5f21
	ld (ix+#01),a
	ld (ix+#02),c
	ld (ix+#03),e
	ld a,(hl)
	ld (ix+#04),a
	inc hl
	ld a,(hl)
	ld (ix+#07),a
	inc hl
	ld a,(hl)
	ld (ix+#08),a
	inc hl
	ld (l5e8a),hl
	push ix
	pop hl
	call #bcaa
.l5f42
	ld a,#01
	call #bcad
	cp #81
	jr z,l5f76
	ld a,(l5e8e)
	or a
	jr nz,l5f76
	ld hl,(l5e8c)
	ld ix,l6145
	ld e,(hl)
	inc hl
	ld a,(hl)
	or e
	ld a,#0c
	jr z,l5f62
	ld a,#0d
.l5f62
	ld (ix+#01),a
	ld (ix+#03),e
	ld a,(hl)
	ld (ix+#04),a
	inc hl
	ld (l5e8c),hl
	push ix
	pop hl
	call #bcaa
.l5f76
	ld hl,(l5e8a)
	ld de,(l5e97)
	call l5ebb
	jr nz,l5fca
	ld a,#02
	call #bcad
	cp #04
	jr nz,l5fc5
	ld a,#01
	call #bcad
	cp #04
	jr nz,l5fc5
	ld hl,(l5e95)
	ld (l5e8a),hl
	ld hl,(l5e99)
	ld (l5e8c),hl
	xor a
	ld (l5e8e),a
	ld hl,(l5e91)
	ld (l5e88),hl
	ld a,#41
	ld (l6145),a
	inc a
	ld (l613c),a
	ld a,#44
	ld (l6133),a
	call #bca7
	ld b,#05
.l5fbd
	push bc
	call l5ec1
	pop bc
	djnz l5fbd
	ret
.l5fc5
	ld a,#01
	ld (l5e8e),a
.l5fca
	ld a,(l6145)
	cp #41
	ret nz
	ld a,#01
	ld (l6145),a
	inc a
	ld (l613c),a
	ld a,#04
	ld (l6133),a
	ld a,#07
	call #bcb3
	ret
.l5fe4
	xor a
	ld (l5e8e),a
	call #bca7
	ld hl,(l5e95)
	ld (l5e8a),hl
	ld hl,(l5e91)
	ld (l5e88),hl
	ld hl,(l5e99)
	ld (l5e8c),hl
	ld a,#41
	ld (l6145),a
	inc a
	ld (l613c),a
	ld a,#44
	ld (l6133),a
	ld hl,(l5e8f)
	inc hl
	inc hl
	ld a,(hl)
	ld (l614c),a
	inc hl
	ld a,(hl)
	ld (l614d),a
	call #bca7
	ld hl,l6049
	ld b,#08
.l6021
	push bc
	ld a,(hl)
	inc hl
	push hl
	call #bcbc
	pop hl
.l6029
	ld a,(hl)
	cp #80
	inc hl
	jr nz,l6029
	pop bc
	djnz l6021
	ld hl,l60d9
	ld b,#05
.l6037
	push bc
	ld a,(hl)
	inc hl
	push hl
	call #bcbf
	pop hl
.l603f
	ld a,(hl)
	cp #80
	inc hl
	jr nz,l603f
	pop bc
	djnz l6037
	ret
.l6049
	db #0b,#02,#01,#0d,#01,#0d,#ff,#02
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#80,#0c,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#80,#0d,#01,#10,#ff
	db #03,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#80,#01,#01
	db #10,#ff,#0e,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#80
	db #02,#01,#10,#ff,#07,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#80,#03,#01,#10,#ff,#03,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#80,#04,#01,#04,#fc
	db #18,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#80,#05,#03
	db #05,#03,#01,#01,#00,#14,#0f,#ff
	db #02,#00,#00,#00,#00,#00,#00,#80
.l60d9
	db #01,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#80,#02,#82,#01,#05,#05,#01
	db #fb,#05,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#80,#03,#83,#01,#02
	db #01,#01,#fc,#01,#01,#02,#01,#00
	db #00,#00,#00,#00,#00,#80,#04,#83
	db #02,#01,#01,#04,#ff,#01,#02,#01
	db #01,#00,#00,#00,#00,#00,#00,#80
	db #05,#82,#04,#01,#03,#04,#ff,#03
	db #00,#00,#00,#00,#00,#00,#00,#00
.l6133 equ $ + 2
	db #00,#80,#44,#0b,#00,#00,#00,#00
.l613c equ $ + 3
	db #00,#00,#00,#42,#0c,#01,#00,#00
.l6145 equ $ + 4
	db #00,#00,#00,#00,#41,#0c,#00,#00
.l614c equ $ + 3
.l614d equ $ + 4
	db #00,#00,#00,#00,#00

;
.init_music
;
	or a
	jr nz,second_init_music
	call init_music1
	jr init_music_interrupt 
.second_init_music
	call init_music2
;
.init_music_interrupt	; added by Megachur
;
	ld hl,evt_bloc
	ld bc,#8100
	ld de,play_music
	jp #bcd7	; call play_music every CRT interrupt
evt_bloc
	db #00,#00,#00,#00,#00,#00
	db #00,#00,#00
;	
;5e9d
;5ec1
;5e9d
;
.game_name
	db "Contamination",0
.game_year
	db "1985",0
.game_publisher
	db "Ere Informatique",0
.music_author
	db "Marc Olivier",0
.music_comment
	db "",0

	read "music_end_v1_0.asm"
